Indexation dans EMu
EMu dispose d’un certain nombre de méthodes d’indexation pour un accès efficace et en temps opportun aux données. Une méthode d’indexation est un algorithme ou un ensemble de règles permettant de rechercher des données de manière indirecte. Le type d’indexation le plus simple, connu sous le nom de requête exhaustive, est l’absence totale d’index. Dans ce cas, chaque enregistrement est lu séquentiellement et comparé aux termes de requête saisis. S’il y a une correspondance, l’enregistrement est ajouté à l’ensemble des enregistrements correspondants, puis le suivant est lu. La méthode de requête exhaustive est très efficace en termes d’espace utilisé, car seules les données doivent être stockées. Toutefois, une recherche peut prendre un certain temps si le nombre d’enregistrements est très élevé (plusieurs heures pour 750 000 enregistrements).
Pour faciliter la recherche à travers un grand nombre d’enregistrements, des index sont construits pour fournir des accès rapides aux données qui correspondent à des critères de recherches donnés. Les index fournissent des façons indirectes de rechercher des données en utilisant une méthode judicieuse : lorsqu’un terme de recherche est entré, les index sont consultés pour produire les enregistrements correspondants. Il y a un coût associé à l’indexation : le besoin de stockage des informations d’indexation en plus des données.
Les concepteurs de bases de données disposent d’un grand nombre de méthodes d’indexation, chacune ayant ses avantages et ses inconvénients. Le moteur de base de données d’EMu utilise deux méthodes d’indexation souples pour permettre une récupération rapide des données à partir d’un grand nombre d’enregistrements :
- La première est connue sous le nom de hachage linéaire (linear hashing) et permet des recherches à grande vitesse.
- La seconde porte le nom assez long de Schéma de codage super-imposé à deux niveaux pour récupération de correspondance partielle, (abrégé en méthode à Deux niveaux) et fournit un cadre général pour effectuer de nombreuses recherches basées sur un terme. Un terme est simplement une séquence de caractères qui constitue l’entité de base pour la requête. Par exemple, dans le cadre d’une requête mot pointé (où il suffit de saisir un mot pour trouver des enregistrements correspondants), le terme est un mot.
Un certain nombre d’options d’indexation préconfigurées sont distribuées avec EMu. En particulier, un certain nombre de champs qui contiennent des données basées sur le nom ont déjà l’indexation phonétique activée. De même, de nombreux champs descriptifs (par exemple, Notes) ont un ensemble d’indexation basé sur un stem.
Une troisième méthode d’indexation, disponible avec EMu 8.0, permet d’utiliser Apache Solr pour la recherche plutôt que l’indexation par défaut basée sur Texpress. Lorsque l’indexation Solr est activée, Solr ne remplace pas Texpress en tant que moteur de base de données sous-jacent utilisé par EMu, mais remplace plutôt le composant de recherche de Texpress. Texpress sous-traite effectivement son composant de recherche à Solr, et Solr renvoie les résultats à Texpress pour qu’il les distribue. Des détails sont disponibles ici.
Il est possible d’ajuster l’indexation via les entrées de Registre. Ces entrées permettent aux institutions d’adapter les méthodes d’indexation pour fournir les recherches les plus efficaces possibles sans gaspiller l’espace disque avec des méthodes non utilisées.
Les utilisateurs du groupe Admin peuvent utiliser une tâche d’administration pour visualiser les informations d’indexation.
La tâche de l’administrateur View System Indexing permet aux utilisateurs d’obtenir des informations sur les méthodes d’indexation des champs d’EMu. La tâche exécute le emuindexing produit au niveau d’une table, un résumé des types de champs et options d’indexation de la colonne correspondante.
Pour exécuter la tâche :
- Cliquer dans le Centre de commande pour ouvrir le module Tâches de l’administrateur.
Cette liste énumère toutes les tâches regroupées par module :
Le titre Administrateur en haut de la liste est destiné à un module virtuel incluant toutes les tâches non associées à un module spécifique.
- Sous Admin, sélectionnez Voir indexation système.
Le résultat de la tâche est semblable à :
Comme il peut y avoir de nombreuses tables dans certaines institutions, la tâche peut prendre du temps pour traiter l’ensemble des informations (jusqu’à dix minutes pour des grands systèmes). Les informations sur l’indexation peuvent aussi contenir des colonnes qui ne sont pas utilisées dans votre institution. Ces colonnes sont sous-classées et spécifiques à un client particulier. Activer l’indexation sur ces colonnes n’affecte pas la taille des index car les champs vides ne génèrent pas d’index (à moins que la méthode null based indexing soit activée).
Par défaut, les utilisateurs du groupe Admin ont accès à cette tâche. Si d’autres utilisateurs ont besoin de ce script, installer l’entrée de Registre Admin Task suivante :
Group
|
groupe | Table
|
eadmin
|
Admin Task
|
View System Indexing
|
emuindexing
|
où groupe est le nom du groupe qui requiert l’accès à cette fonction.
Des détails sur l’indexation sont disponibles dans Indexation dans EMu